کروم 137

تاریخ انتشار پایدار: 27 می 2025

مگر اینکه خلاف آن ذکر شده باشد، تغییرات زیر برای انتشار کانال پایدار Chrome 137 برای Android، ChromeOS، Linux، macOS و Windows اعمال می‌شود.

CSS و UI

تابع if() CSS

تابع if() CSS راهی مختصر برای بیان مقادیر شرطی ارائه می دهد. مجموعه ای از جفت های شرط-مقدار را می پذیرد که با نقطه ویرگول مشخص شده اند. تابع هر شرط را به صورت متوالی ارزیابی می کند و مقدار مربوط به اولین شرط واقعی را برمی گرداند. اگر هیچ یک از شرایط به درستی ارزیابی نشود، تابع یک جریان توکن خالی را برمی‌گرداند. این به شما امکان می دهد منطق شرطی پیچیده را به روشی ساده و مختصر بیان کنید.

مثال:

div {
  color: var(--color);
  background-color: if(style(--color: white): black; else: white);
}

.dark {
  --color: black;
}

.light {
  --color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>

باگ ردیابی #346977961 | ورودی ChromeStatus.com | مشخصات

CSS reading-flow ، reading-order خواص

ویژگی CSS reading-flow ترتیبی را که عناصر در طرح‌بندی انعطاف‌پذیر، شبکه‌ای یا بلوک در معرض ابزارهای دسترس‌پذیری قرار می‌گیرند و با استفاده از ناوبری فوکوس صفحه‌کلید تب فوکوس می‌شوند را کنترل می‌کند.

خاصیت reading-order CSS به نویسندگان اجازه می دهد تا به صورت دستی ترتیب را در یک محفظه جریان خواندن لغو کنند. این یک عدد صحیح با مقدار پیش فرض 0 است.

در مورد این ویژگی ها در استفاده از جریان خواندن CSS برای پیمایش فوکوس متوالی منطقی بیشتر بیاموزید و چند نمونه را امتحان کنید .

باگ ردیابی #40932006 | ورودی ChromeStatus.com | مشخصات

فاصله حروف را در خط شکسته نادیده بگیرید

این ویژگی منطقی را برای نادیده گرفتن تنظیمات فاصله حروف برای اسکریپت های شکسته، همانطور که توسط توسعه دهنده مشخص شده است، مطابق با مشخصات اضافه می کند تا اطمینان حاصل شود که فاصله حروف ساختار کلمات را مختل نمی کند و هدف آن ایجاد تجربه کاربری بهتر برای کاربرانی است که به اسکریپت های شکسته تکیه می کنند.

با استفاده از این ویژگی، Chrome تضمین می‌کند که اسکریپت‌های شکسته خوانا و با فاصله مناسب خواهند بود، حتی اگر فونت‌ها ویژگی‌های تایپوگرافی پیشرفته نداشته باشند.

اسکریپت‌هایی که در کرومیوم روی آن‌ها اعمال می‌شود عبارتند از عربی، روهینگیایی روهینگیایی، ماندایی، مغولی، N'Ko، Phags Pa، و سریانی زیرا این خط‌ها طبق مشخصات خط شکسته در نظر گرفته می‌شوند.

باگ ردیابی #40618336 | ورودی ChromeStatus.com | مشخصات

انتخاب API getComposedRanges و direction

این ویژگی دو روش API جدید را برای Selection API ارسال می کند:

  • Selection.direction که جهت انتخاب را به صورت none ، forward یا backward برمی گرداند
  • Selection.getComposedRanges() که لیستی از 0 یا 1 StaticRange ساخته شده را برمی گرداند.

یک StaticRange ترکیب شده مجاز است از مرزهای سایه عبور کند، که یک Range معمولی نمی تواند.

به عنوان مثال:

const range = getSelection().getComposedRanges({ shadowRoots: [root] });

اگر انتخاب از مرز ریشه سایه ای عبور کند که در لیست shadowRoots ارائه نشده است، سپس نقاط انتهایی StaticRange مجدداً خارج از آن درخت قرار می گیرند. این اطمینان حاصل می کند که Chrome درختان سایه ناشناخته را در معرض دید قرار نمی دهد.

باگ ردیابی #40286116 | ورودی ChromeStatus.com | مشخصات

پشتیبانی از offset-path: shape()

پشتیبانی offset-path: shape() برای استفاده از اشکال پاسخگو برای تنظیم مسیر انیمیشن.

باگ ردیابی #389713717 | ورودی ChromeStatus.com | مشخصات

از ویژگی transform در SVGSVGElement پشتیبانی کنید

این ویژگی به‌کارگیری ویژگی‌های تبدیل - مانند مقیاس‌بندی، چرخش، ترجمه، و انحراف را - مستقیماً در عنصر ریشه <svg> با استفاده از ویژگی transform آن امکان‌پذیر می‌سازد. این پیشرفت به شما امکان می دهد کل سیستم مختصات SVG یا محتویات آن را به عنوان یک کل دستکاری کنید و انعطاف پذیری بیشتری را در ایجاد گرافیک های برداری پویا، پاسخگو و تعاملی ارائه دهید. با پشتیبانی از این ویژگی، عنصر <svg> می‌تواند بدون نیاز به عناصر پوشش اضافی یا راه‌حل‌های پیچیده CSS تغییر شکل داده و فرآیند ساخت گرافیک‌های وب مقیاس‌پذیر و متحرک را ساده‌تر کند.

باگ ردیابی #40313130 ​​| ورودی ChromeStatus.com | مشخصات

رنگ تاکیدی سیستم برای ویژگی accent-color

این به شما امکان می دهد از رنگ تاکیدی سیستم عامل برای عناصر فرم استفاده کنید. با استفاده از ویژگی accent-color CSS، می توانید اطمینان حاصل کنید که عناصر فرم مانند چک باکس ها، دکمه های رادیویی و نوارهای پیشرفت به طور خودکار رنگ تاکیدی تعریف شده توسط سیستم عامل کاربر را می پذیرند. این از سال 2021 در macOS پشتیبانی می‌شود و اکنون در Windows و ChromeOS پشتیبانی می‌شود.

باگ ردیابی #40764875 | ورودی ChromeStatus.com | مشخصات

به <use> اجازه دهید با حذف قطعه به عنصر ریشه یک سند خارجی ارجاع دهد.

این ویژگی عنصر <use> SVG را با کاهش الزامات ارجاع ساده می کند. قبل از Chrome 137، شما باید به طور صریح به قطعات در سند SVG ارجاع می دادید. اگر شناسه قطعه داده نشود <use> نمی تواند هدف را حل کند و هیچ چیزی ارائه یا ارجاع نخواهد شد.

به عنوان مثال: یک عنصر <use> که به یک فایل خارجی با شناسه قطعه ارجاع می دهد:

<svg>
  <use xlink:href="myshape.svg#icon"></use>
</svg>

در این مثال، #icon شناسه قطعه است که به عنصری با id="icon" در myshape.svg اشاره می کند.

بدون شناسه قطعه:

<svg>
  <use xlink:href="myshape.svg"></use>
</svg>

با استفاده از این ویژگی، حذف قطعات یا فقط دادن نام فایل svg خارجی به طور خودکار به عنصر ریشه ارجاع می‌دهد و نیازی به تغییر سند ارجاع‌شده فقط برای اختصاص یک شناسه به ریشه را از بین می‌برد. این پیشرفت این فرآیند ویرایش دستی را ساده کرده و کارایی را بهبود می بخشد.

باگ ردیابی #40362369 | ورودی ChromeStatus.com | مشخصات

انواع رنگ نقطه شناور بوم

قابلیت استفاده از قالب‌های پیکسل ممیز شناور (برخلاف نقطه ثابت 8 بیتی) با CanvasRenderingContext2D ، OffscreenCanvasRenderingContext2D و ImageData را ارائه می‌کند.

این برای کاربردهای با دقت بالا (به عنوان مثال، تجسم پزشکی)، محتوای محدوده دینامیکی بالا، و فضاهای رنگی کاری خطی ضروری است.

باگ ردیابی #40245602 | ورودی ChromeStatus.com | مشخصات

view-transition-name: match-element

مقدار match-element یک شناسه منحصر به فرد بر اساس هویت عنصر ایجاد می کند و همان را برای این عنصر تغییر نام می دهد. این مورد در موارد Single Page App استفاده می‌شود که در آن عنصر در حال جابجایی است و می‌خواهید آن را با یک تغییر نمای متحرک کنید.

باگ ردیابی #365997248 | ورودی ChromeStatus.com | مشخصات

پرداخت ها

نوع خطای تراز کردن برای payment ایجاد اعتبار WebAuthn: SecurityError تبدیل به NotAllowedError می شود

نوع خطای پرتاب شده در حین ایجاد اعتبار WebAuthn برای اعتبارنامه های payment را تصحیح کنید. به دلیل عدم تطابق مشخصات تاریخی، ایجاد اعتبار payment در یک iframe متقاطع بدون فعال‌سازی کاربر، به جای NotAllowedError ، یک SecurityError ایجاد می‌کند، که برای اعتبارنامه‌های عدم پرداخت پرتاب می‌شود.

این یک تغییر قطعی است، البته یک تغییر خاص. کدی که قبلاً نوع خطای پرتاب شده را شناسایی کرده است (مثلاً e instanceof SecurityError ) تحت تأثیر قرار می گیرد. کدی که معمولاً خطاها را در حین ایجاد اعتبار کنترل می کند (به عنوان مثال، catch (e) ) به درستی کار می کند.

باگ ردیابی #41484826 | ورودی ChromeStatus.com | مشخصات

API های وب

پارتیشن بندی URL Blob: واکشی/ناوبری

به عنوان ادامه پارتیشن‌سازی فضای ذخیره‌سازی، Chrome پارتیشن‌بندی دسترسی به URL Blob را توسط کلید ذخیره‌سازی (سایت سطح بالا، مبدا قاب، و بولی دارای اجداد سایت متقاطع)، به استثنای پیمایش‌های سطح بالا که فقط بر اساس مبدا فریم پارتیشن بندی می‌شوند، پیاده‌سازی کرده است. این رفتار شبیه به آنچه که در حال حاضر توسط فایرفاکس و سافاری اجرا می‌شود، است و استفاده از URL Blob را با طرح پارتیشن‌بندی که توسط سایر APIهای ذخیره‌سازی به عنوان بخشی از Storage Partitioning استفاده می‌شود، تراز می‌کند. علاوه بر این، کروم اکنون در پیمایش‌های سطح بالایی که توسط رندر شروع می‌شود به آدرس‌های اینترنتی Blob که در آن سایت مربوطه با سایت سطح بالایی که پیمایش را انجام می‌دهد، نواپنر را اعمال می‌کند. این کروم را با رفتار مشابه در سافاری هماهنگ می‌کند و مشخصات مربوطه برای منعکس‌کننده این تغییرات به‌روزرسانی شده است.

باگ ردیابی #40057646 | ورودی ChromeStatus.com

پشته‌های تماس در گزارش‌های خرابی از صفحات وب بی‌پاسخ

این ویژگی پشته تماس جاوا اسکریپت را هنگامی که یک صفحه وب به دلیل اجرای کد جاوا اسکریپت یک حلقه بی نهایت یا محاسبات بسیار طولانی دیگر پاسخگو نمی شود، ضبط می کند. این به توسعه دهندگان کمک می کند تا علت عدم پاسخگویی را شناسایی کرده و راحت تر آن را برطرف کنند. پشته تماس جاوا اسکریپت زمانی که دلیل پاسخگو نباشد در API گزارش خرابی گنجانده می شود.

باگ ردیابی #1445539 | ورودی ChromeStatus.com | مشخصات

Document-Isolation-Policy

Document-Isolation-Policy به یک سند اجازه می دهد که crossOriginIsolation بدون نیاز به استقرار COOP یا COEP و بدون توجه به وضعیت crossOriginIsolation صفحه برای خود فعال کند. این سیاست با انزوا فرآیند پشتیبانی می شود. علاوه بر این، منابع فرعی سند غیر CORS یا بدون اعتبار بارگیری می شوند یا باید سرآیند CORP داشته باشند.

باگ ردیابی #333029146 | ورودی ChromeStatus.com | مشخصات

Ed25519 در رمزنگاری وب

این ویژگی پشتیبانی از الگوریتم‌های Curve25519 را در Web Cryptography API، یعنی الگوریتم امضا Ed25519 اضافه می‌کند.

باگ ردیابی #1370697 | ورودی ChromeStatus.com | مشخصات

پیشگیری از ردیابی HSTS

ردیابی کاربر توسط شخص ثالث را با استفاده از حافظه پنهان HSTS کاهش می دهد.

این ویژگی فقط به ارتقای HSTS برای پیمایش‌های سطح بالا اجازه می‌دهد و ارتقای HSTS را برای درخواست‌های منابع فرعی مسدود می‌کند. انجام این کار، استفاده از کش HSTS را برای سایت های شخص ثالث غیرممکن می کند تا کاربران را در سراسر وب ردیابی کنند.

باگ ردیابی #40725781 | ورودی ChromeStatus.com

WebAssembly

یکپارچه سازی وعده جاوا اسکریپت

JavaScript Promise Integration (JSPI) یک API است که به برنامه های WebAssembly اجازه می دهد تا با JavaScript Promises یکپارچه شوند.

این اجازه می دهد تا یک برنامه WebAssembly به عنوان مولد یک Promise عمل کند و به برنامه WebAssembly اجازه می دهد تا با API های دارای Promise تعامل داشته باشد.

به طور خاص، هنگامی که یک برنامه از JSPI برای فراخوانی یک API دارای Promise-Bearing (جاوا اسکریپت) استفاده می کند، کد WebAssembly به حالت تعلیق در می آید. و به تماس گیرنده اصلی برنامه WebAssembly یک وعده داده می شود که زمانی که برنامه WebAssembly در نهایت تکمیل شود محقق می شود.

ورودی ChromeStatus.com | مشخصات

نکات شعبه WebAssembly

عملکرد کد WebAssembly کامپایل شده را با اطلاع دادن به موتور مبنی بر اینکه یک دستورالعمل شاخه خاص احتمالاً مسیر خاصی را طی می کند، بهبود می بخشد.

این به موتور اجازه می دهد تا تصمیمات بهتری برای طرح کد (بهبود بازدیدهای حافظه پنهان دستورالعمل) و تخصیص ثبت بگیرد.

ورودی ChromeStatus.com | مشخصات

WebGPU

GPUTextureView برای اتصال externalTexture

یک GPUTextureView اکنون مجاز است برای اتصال externalTexture هنگام ایجاد یک GPUBindGroup استفاده شود.

باگ ردیابی #398752857 | ورودی ChromeStatus.com | مشخصات

اضافه بار copyBufferToBuffer

متد GPUCommandEncoder copyBufferToBuffer() اکنون شامل یک روش ساده‌تر برای کپی کردن کل بافرها با استفاده از اضافه بار جدید با آفست‌های اختیاری و پارامترهای اندازه است.

ورودی ChromeStatus.com | مشخصات

تصدی

ثبت و گزارش آدرس IP

Chrome Enterprise با جمع‌آوری و گزارش آدرس‌های IP محلی و راه دور و ارسال آن آدرس‌های IP به گزارش‌های بررسی امنیتی (SIT) قابلیت‌های نظارت امنیتی و پاسخ به حادثه را افزایش می‌دهد. علاوه بر این، Chrome Enterprise به مدیران اجازه می‌دهد تا به صورت اختیاری آدرس‌های IP را از طریق رابط Chrome Enterprise Reporting به ارائه‌دهندگان SIEM شخص اول و شخص ثالث ارسال کنند.

این برای مشتریان Chrome Enterprise Core در دسترس است.

ورودی ChromeStatus.com

آزمایش های مبدا

ویژگی مسدود کردن رندر نرخ فریم کامل

یک نشانه مسدود کننده رندر جدید full-frame-rate به ویژگی های مسدود کننده اضافه می کند. هنگامی که رندر با توکن full-frame-rate مسدود می شود، رندر با نرخ فریم پایین تری کار می کند تا منابع بیشتری برای بارگذاری ذخیره کند.

باگ ردیابی #397832388 | ورودی ChromeStatus.com

پخش رسانه را در iframe های رندر نشده متوقف کنید

یک خط‌مشی مجوز media-playback-while-not-rendered اضافه می‌کند تا به وب‌سایت‌های embedder اجازه دهد تا پخش رسانه iframe‌های تعبیه‌شده را که رندر نشده‌اند متوقف کنند - یعنی ویژگی display آنها روی none تنظیم نشده است. این باید به توسعه دهندگان اجازه دهد تا تجربیات کاربر پسندتری ایجاد کنند و همچنین با اجازه دادن به مرورگر برای کنترل بازپخش محتوایی که برای کاربران قابل مشاهده نیست، عملکرد را بهبود بخشند.

Origin Trial | باگ ردیابی #351354996 | ورودی ChromeStatus.com

Rewriter API

Rewriter API متن ورودی را به روش‌های درخواستی، با پشتوانه یک مدل زبان هوش مصنوعی روی دستگاه، تبدیل و بازنویسی می‌کند. توسعه‌دهندگان ممکن است از این API برای حذف افزونگی‌ها در یک متن استفاده کنند تا در حد کلمات قرار بگیرند، پیام‌ها را به گونه‌ای بازنویسی کنند که با مخاطب مورد نظر مطابقت داشته باشد یا اگر پیامی از زبان سمی استفاده می‌کند سازنده‌تر باشد، یک پست یا مقاله را برای استفاده از کلمات و مفاهیم ساده‌تر و موارد دیگر بیان کنند.

Origin Trial | باگ ردیابی #358214322 | ورودی ChromeStatus.com | مشخصات

Writer API

Writer API را می‌توان برای نوشتن مطالب جدید به‌منظور دستور نوشتن، با پشتیبانی از یک مدل زبان هوش مصنوعی روی دستگاه استفاده کرد. توسعه‌دهندگان می‌توانند از این API برای تولید توضیحات متنی داده‌های ساخت‌یافته، نوشتن پستی درباره یک محصول بر اساس بررسی‌ها یا توضیحات محصول، گسترش فهرست‌های حرفه‌ای و مخالف به نمایش‌های کامل و موارد دیگر استفاده کنند.

Origin Trial | باگ ردیابی #357967382 | ورودی ChromeStatus.com | مشخصات